package com.candy.dao;

import java.sql.*;

public class DBHelper {
    public static void main(String[] args) {
        try {
//        （0）下载jdbc驱动包；将驱动包导入项目。
//        注意：mysql8和mysql5的驱动包版本不通用。
//        项目使用maven构建，直接通过pom指定依赖即可
//        （1）注册或实例化jdbc的驱动类(使用反射的方式进行注册驱动)
            Class.forName("com.mysql.cj.jdbc.Driver");
//        （2）获取数据库连接对象Connection
//            获取数据库的链接对象需要用到三个参数 ，
//            分别是数据库连接串（注意mysql8与mysql5的连接串不同）
//            jdbc:mysql 表示jdbc链接mysql数据库
//            localhost表示要链接的数据库ip 此处的localhost表示本机登记与127.0.0.1
//            3306表示mysql的端口
//            database_name表示要链接的数据库的名字(更换成你要链接的数据库的名字)
            String url="jdbc:mysql://localhost:3306/ld_mysql0317? characterEncoding=utf8 & useSSL=false & serverTimezone=UTC & rewriteBatchedStatements=true";
//            数据库的用户名
            String username="root";
//            数据库的密码
            String password="123456";
            Connection conn=DriverManager.getConnection(url,username,password);
//        （3）获取数据库操作对象Statement（执行增删改查）
            Statement ment=conn.createStatement();
//        （4）执行SQL语句，获取数据操作结果或者结果集对象ResultSet
            String sql="SELECT * FROM userinfo";
            ResultSet rs=ment.executeQuery(sql);
//        （5）解析结果集对象ResultSet，进行相关的业务处理；
//            next()表示数据读取，若当前行有数据，则返回true，反之返回false
            while (rs.next()){
                System.out.print(rs.getObject(1)+"\t");
                System.out.print(rs.getObject(2)+"\t");
                System.out.print(rs.getObject(3)+"\t");
                System.out.print(rs.getObject(4)+"\t");
                System.out.print(rs.getObject(5));
                System.out.println();
            }
//            关闭连接，释放资源
            rs.close();
            ment.close();
            conn.close();
//            资源不能一直持有，在资源释放后， 不能够继续获取resultSet对象中的数据结果
//            while (rs.next()){
//                System.out.print(rs.getObject(1)+"\t");
//                System.out.print(rs.getObject(2)+"\t");
//                System.out.print(rs.getObject(3)+"\t");
//                System.out.print(rs.getObject(4)+"\t");
//                System.out.print(rs.getObject(5));
//                System.out.println();
//            }

        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}
